大家早安,究竟行前特訓會到何時呢?
今天要先來說說關鍵字,不知道大家對他還熟不熟悉?
首先我們要先認識識別字
識別字(Identifier)是用來對城市中的一個方法、變數或其他使用者定義的項目給予名稱以便在程式中識別。但有其規則:
good luck //中間不能空格
7_eleven //第一個字不能數字
B&Q //&不是可使用的字元
new //new是關鍵字
再來是資料型別
資料型別 | .NET Framework | 說明 |
---|---|---|
bool(布林) | System.Boolean | 佔1-Byte布林值,其值為true或false |
Byte | System.Byte | 佔1-Byte,無正負整數。範圍:0~255 |
sbyte | System.Sbyte | 佔1-Byte,有正負符號整數。範圍:-128~127 |
short(短整數) | System.Int16 | 佔2-Byte,有正負符號整數。範圍:-32768~32767 |
ushort(無號短整數) | System.Uint16 | 佔2-Byte,無正負整數。範圍:0~65535 |
int(整數) | System.Int32 | 佔4-Byte,有正負符號整數。範圍:-2147483648~2147483647 |
uint(無號整數) | System.Uint32 | 佔4-Byte,無正負整數。範圍:0~4294967295 |
long(長整數) | System.Int64 | 佔8-Byte,有正負符號整數。範圍:-9223372036854775808~9223372036854775807 |
ulong(無號長整數) | System.Uint64 | 佔8-Byte,無正負整數。範圍:0~18446744073709551615 |
float(浮點數) | System.Single | 佔4-Byte,單精確度浮點數。範圍:1.5x10^-28^~3.4x10^37^。精確度7個數字 |
double(倍精確浮點數) | System.Double | 佔8-Byte,倍精確度浮點數。範圍:5x10^-324^~1.7x10^308^。精確度15-16個數字 |
decimal(貨幣) | System.Decimal | 佔16-Byte為十進位數字,有效位數28,範圍:1x10^-28^~7.9x10^28^ |
char(字元) | System.Char | 佔2-Byte,其值是一個Unicode的字元,該字元以單引號括住。範圍:0~65535 |
string(字串) | System.String | 字串型別,資料頭尾以雙引號括住 |
object(物件) | System.Object | 物件型別,可以存放任意資料型別的資料 |
最後最後就是我們的運算子
運算子精靈可是大家族呢!
有算術運算子、關係運算子、邏輯運算子、位元運算子、移位運算子、複合指定運算子、遞增遞減運算子
算術運算子
運算子符號 | 運算子 | 運算式 | 若j = 20 k = 3 下列i結果 |
---|
+ | 相加 | i = j + k | i = 23 |
- | 相減 | i = j - k | i = 17 |
* | 相乘 | i = j * k | i = 60 |
/ | 相除 | i = j / k | i = 6 |
% | 取餘數 | i = j % k | i = 2 |
範例:
int i, j = 20, k = 3;
Console.WriteLine(i = j + k);
Console.WriteLine(i = j - k);
Console.WriteLine(i = j * k);
Console.WriteLine(i = j / k);
Console.WriteLine(i = j % k);
結果:
關係運算子
關係運算子 | 意義 | 數學式 | 關係運算式 |
---|
== | 等於 | = | A==B |
!= | 不等於 | ≠ | A!=B |
> | 大於 | > | A>B |
< | 小於 | < | A<B |
>= | 大於或等於 | ≥ | A>=B |
<= | 小於或等於 | ≤ | A<=B |
範例:
bool Boolean = false;
int A = 10, B = 10;
Boolean = A == B;
Console.WriteLine("A=B -> " + Boolean);
Boolean = A != B;
Console.WriteLine("A≠B -> " + Boolean);
Boolean = A > B;
Console.WriteLine("A>B -> " + Boolean);
Boolean = A < B;
Console.WriteLine("A<B -> " + Boolean);
Boolean = A >= B;
Console.WriteLine("A>=B -> " + Boolean);
Boolean = A <= B;
Console.WriteLine("A<=B -> " + Boolean);
邏輯運算子
邏輯運算子 | 意義 | 邏輯運算式 | 用法 |
---|
&& | 且(AND) | A&&B | 當A跟B都為true時,結果才為true |
|| | 或(OR) | A||B | 若A、B其中一個為true,結果為true |
! | 非(NOT反相) | !A | 若A為true,結果為false。若A為false,結果為true。 |
範例:
bool Boolean = false, A = true, B = false;
Console.WriteLine("A= " + A + " B= " + B);
Boolean = A && B;
Console.WriteLine("A&&B -> " + Boolean);
Boolean = A || B;
Console.WriteLine("A||B -> " + Boolean);
Boolean = !A;
Console.WriteLine("!A -> " + Boolean);
位元運算子
&(AND)、|(OR)、^(XOR)、~(NOT)為位元運算子,運算方式如下:
A B | A&B | A|B | A^B | ~A |
---|
0 0 | 0 | 0 | 0 | 1 |
0 1 | 0 | 1 | 1 | 1 |
1 0 | 0 | 1 | 1 | 0 |
1 1 | 1 | 1 | 0 | 0 |
移位運算子
移位運算子可用來做數值運算,做法是先將指定的運算元轉成二進位,接著使用">>"或"<<"來進行右移或左移幾個位元。
複合指定運算子
運算子符號 | 意義 | 實例 |
---|
= | 指定 | i = 10 |
+= | 相加後再指定 | i += 5 |
-= | 相減後再指定 | i -= 5 |
= | 相乘後再指定 | i= 2 |
/= | 相除後再指定 | i /= 2 |
%= | 取餘數後再指定 | i %= 3 |
^= | 做位元的XOR運算再指定 | i ^= 5 |
&= | 做位元的AND運算再指定 | i &= 5 |
|= | 做位元的OR運算再指定 | i |= 5 |
<<= | 左移指定運算 | i <<= 5 |
>>= | 右移指定運算 | i >>= 5 |
遞增遞減運算子
++遞增和--遞減兩者都是屬於單元運算子,如i = i + 1
可寫成i++
,i = i - 1
可寫成i--
。若將遞增/遞減運算子放在變數前表示前遞增/遞減,放之後則表示後遞增/遞減。
int i = 5, k;
k = i++; //結果K=5,i=6。相當於先執行k=i,再執行i++
Console.WriteLine("k=" + k);
Console.WriteLine("i=" + i);
int i = 5, k;
k = ++i; //結果K=6,i=6。相當於先執行i++,再執行k=i
Console.WriteLine("k=" + k);
Console.WriteLine("i=" + i);
int i, j, k;
i = j = 15; //先將15指定給j,再將j值指定給i,i和j都是15
Console.WriteLine("i=" + i + " j=" + j);
k = ++i * 5; //先將i+1=16,再將i*5=80,最後指定給K
Console.WriteLine("i=" + i + " k=" + k);
j = k++ * 2; //先將K(=80)*2指定給j,j=160,再將k+1=81
Console.WriteLine("k=" + k + " j=" + j);
運算子精靈的家族就介紹到這裡啦,既然是家族,那就代表會有老幼順序(優先順序),下表是運算子的優先順序,要特別注意喔~
優先次序 | 運算子 | 運算次序 |
---|---|---|
1 | x.y、f(x)、a[x]、x++、x--、new、、() | 由內至外 |
2 | !、~、(cast)、+(正)、-(負)、++x、--x | 由內至外 |
3 | *、/、% | 由左至右 |
4 | +(加)、-(減) | 由左至右 |
5 | >>、<< | 由左至右 |
6 | <、<=、>、>= | 由左至右 |
7 | ==、!= | 由左至右 |
8 | &(邏輯AND) | 由左至右 |
9 | ^(邏輯XOR) | 由左至右 |
10 | |(邏輯OR) | 由左至右 |
11 | &&(條件AND) | 由左至右 |
12 | ||(條件OR) | 由左至右 |
13 | ?: | 由右至左 |
14 | =、+=、-=、*=、/=、%=、<<=、>>=、&=、^=、!= | 由右至左 |
15 | ,(逗號) | 由左至右 |
今天就先這樣吧~明天開始教大家攻擊技巧跟招式!
大家好好休息吧!
2023鐵人賽